package com.blue.http.config;

/**
 * 权限认证配置
 * 
 * @author zhengj
 * @since 1.0 2017年3月1日
 */
public interface AuthConfig
{
	/**
	 * 过期时间 7200 秒
	 */
	int expire = 7200;
	
	/**
	 * 用户登录认证
	 * 
	 * @param name 用户名
	 * @param secret 用户密钥
	 * @return 登录成功返回 token，失败返回 null
	 */
	String login(String name, String secret);
	
	/**
	 * 验证 token 是否有效
	 * 
	 * @param token 令牌
	 * @return 有效返回 true，无效返回 false
	 */
	boolean verify(String token);
	
	/**
	 * 对URL授权
	 * 
	 * @param token 登录令牌
	 * @param url 访问URL地址
	 * @return 有权限返回 true，无权限返回 false
	 */
	boolean auth(String token, String url);
	
	/**
	 * 清空帐号名称和密钥
	 */
	void clearSecret();
	
	/**
	 * 清空角色－URL关联关系
	 */
	void clearAuth();
	
}
